PHP 2点間の直線距離を求める式
以下の住所、2点間の直線距離を求めます。
出発地:神奈川県横浜市神奈川区鶴屋町2-21
目的地:東京都港区芝公園4-2
主なやりかたは、geocording化して、地球の半径やら緯度経度をラジアンにするなどを行って計測させます。
*geocordingはされているものとして考えます…。
出発地の緯度経度
$start_latutude = 35.46943; $start_longitude = 139.621018;
目的地の緯度経度↓
$end_latitude = 35.658604; $end_longitude = 139.745133;
地球の半径
$earth_r = 6378.137;
緯度差・経度差をラジアンに
$latitude_margin = deg2rad($end_latitude - $start_latutude); $longitide_margin = deg2rad($end_longitude - $longitude );
南北の距離
$south_north = $earth_r * $latitude_margin;
東西の距離
$west_east = cos(deg2rad($start_latutude)) * $earth_r * $longitide_margin;
三平方の定理
$distance = sqrt(pow($west_east,2) + pow($south_north,2));
ちなみに計算を行うと、23.808kmになりました!!